/***********************************************************************\
*                                                                       *
* This file was created by Component Internal Interface Engine software *
*  Copyright(c) 2000-2006 by Krzysztof Pozniak (pozniak@ise.pw.edu.pl)  *
*                           All Rights Reserved.                        *
*                                                                       *
\***********************************************************************/

package cii_opto;

import java.util.Vector;

import cii_lib.*;

public class CCII_DATA_DEMUX {
//	TODO To jest do generacji !
	  private Vector<CCII_ACCESS_INTERF> interfaces = new Vector<CCII_ACCESS_INTERF>();
	  private Vector<CCII_ACCESS_PARAM> params = new Vector<CCII_ACCESS_PARAM>();
	  //TODO

  public CCII_COMPONENT _CII_DATA_DEMUX;

  private CCII_ACCESS_IPAR _IPAR_MUX_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_MUX_MULTIPL;
  private CCII_ACCESS_IPAR _IPAR_CLOCK_MULTIPL;
  private CCII_ACCESS_LPAR _LPAR_MUX_SYMMETRIZATION_ENA;
  private CCII_ACCESS_LPAR _LPAR_MUX_PART_MODE_ENA;
  private CCII_ACCESS_LPAR _LPAR_MUX_DECREASE_ENA;
  private CCII_ACCESS_IPAR _IPAR_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_DELAY_WIDTH;
  private CCII_ACCESS_LPAR _LPAR_CLOCK_PIPE_ENA;
  private CCII_ACCESS_LPAR _LPAR_STROBE_ENABLE;
  private CCII_ACCESS_LPAR _LPAR_STROBE_REGISTERED;
  private CCII_ACCESS_LPAR _LPAR_OUTPUT_REGISTERED;
  public class CMPAR_CTRL_CII extends CCII_ACCESS_MPAR {
    public CMPAR_CTRL_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_CTRL_CII _MPAR_CTRL_CII;
  private CCII_ACCESS_LPAR _LPAR_DATA_CII;
  private CCII_ACCESS_IR _BITS_MUX_CLK_INV;
  private CCII_ACCESS_IR _BITS_MUX_CLK90;
  private CCII_ACCESS_IR _BITS_MUX_REG_ADD;
  private CCII_ACCESS_IR _BITS_DATA_DELAY;
  private CCII_ACCESS_IR _BITS_CLK_INV;
  private CCII_ACCESS_RO _WORD_DATA;
  public CCII_DATA_DEMUX(CCII_TABLE_INDEX itab, int cidx, CCII_INTERFACE interf, CCII_COMPONENT parent) {
    _CII_DATA_DEMUX=new CCII_COMPONENT(itab,cidx,parent,getInterfaces(),getParams());
    _IPAR_MUX_WIDTH=null;
    _IPAR_MUX_MULTIPL=null;
    _IPAR_CLOCK_MULTIPL=null;
    _LPAR_MUX_SYMMETRIZATION_ENA=null;
    _LPAR_MUX_PART_MODE_ENA=null;
    _LPAR_MUX_DECREASE_ENA=null;
    _IPAR_DATA_WIDTH=null;
    _IPAR_DELAY_WIDTH=null;
    _LPAR_CLOCK_PIPE_ENA=null;
    _LPAR_STROBE_ENABLE=null;
    _LPAR_STROBE_REGISTERED=null;
    _LPAR_OUTPUT_REGISTERED=null;
    _MPAR_CTRL_CII=null;
    _LPAR_DATA_CII=null;
    _BITS_MUX_CLK_INV=null;
    _BITS_MUX_CLK90=null;
    _BITS_MUX_REG_ADD=null;
    _BITS_DATA_DELAY=null;
    _BITS_CLK_INV=null;
    _WORD_DATA=null;
    if(_CII_DATA_DEMUX.Number()==0) return;
    params.add(_IPAR_MUX_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DATA_DEMUX));
    params.add(_IPAR_MUX_MULTIPL = new CCII_ACCESS_IPAR(itab,_CII_DATA_DEMUX));
    params.add(_IPAR_CLOCK_MULTIPL = new CCII_ACCESS_IPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_MUX_SYMMETRIZATION_ENA = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_MUX_PART_MODE_ENA = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_MUX_DECREASE_ENA = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_IPAR_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DATA_DEMUX));
    params.add(_IPAR_DELAY_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_CLOCK_PIPE_ENA = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_STROBE_ENABLE = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_STROBE_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_OUTPUT_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    params.add(_MPAR_CTRL_CII = new CMPAR_CTRL_CII(itab,_CII_DATA_DEMUX));
    params.add(_LPAR_DATA_CII = new CCII_ACCESS_LPAR(itab,_CII_DATA_DEMUX));
    interfaces.add(_BITS_MUX_CLK_INV = new CCII_ACCESS_IR(itab,interf,_CII_DATA_DEMUX));
    interfaces.add(_BITS_MUX_CLK90 = new CCII_ACCESS_IR(itab,interf,_CII_DATA_DEMUX));
    interfaces.add(_BITS_MUX_REG_ADD = new CCII_ACCESS_IR(itab,interf,_CII_DATA_DEMUX));
    interfaces.add(_BITS_DATA_DELAY = new CCII_ACCESS_IR(itab,interf,_CII_DATA_DEMUX));
    interfaces.add(_BITS_CLK_INV = new CCII_ACCESS_IR(itab,interf,_CII_DATA_DEMUX));
    interfaces.add(_WORD_DATA = new CCII_ACCESS_RO(itab,interf,_CII_DATA_DEMUX));
  }
  public CCII_COMPONENT CII_DATA_DEMUX() {return(_CII_DATA_DEMUX.Number()==0?null:_CII_DATA_DEMUX);};
  public CCII_ACCESS_IPAR IPAR_MUX_WIDTH() {return(_IPAR_MUX_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_MUX_MULTIPL() {return(_IPAR_MUX_MULTIPL);};
  public CCII_ACCESS_IPAR IPAR_CLOCK_MULTIPL() {return(_IPAR_CLOCK_MULTIPL);};
  public CCII_ACCESS_LPAR LPAR_MUX_SYMMETRIZATION_ENA() {return(_LPAR_MUX_SYMMETRIZATION_ENA);};
  public CCII_ACCESS_LPAR LPAR_MUX_PART_MODE_ENA() {return(_LPAR_MUX_PART_MODE_ENA);};
  public CCII_ACCESS_LPAR LPAR_MUX_DECREASE_ENA() {return(_LPAR_MUX_DECREASE_ENA);};
  public CCII_ACCESS_IPAR IPAR_DATA_WIDTH() {return(_IPAR_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_DELAY_WIDTH() {return(_IPAR_DELAY_WIDTH);};
  public CCII_ACCESS_LPAR LPAR_CLOCK_PIPE_ENA() {return(_LPAR_CLOCK_PIPE_ENA);};
  public CCII_ACCESS_LPAR LPAR_STROBE_ENABLE() {return(_LPAR_STROBE_ENABLE);};
  public CCII_ACCESS_LPAR LPAR_STROBE_REGISTERED() {return(_LPAR_STROBE_REGISTERED);};
  public CCII_ACCESS_LPAR LPAR_OUTPUT_REGISTERED() {return(_LPAR_OUTPUT_REGISTERED);};
  public CMPAR_CTRL_CII MPAR_CTRL_CII() {return(_MPAR_CTRL_CII);};
  public CCII_ACCESS_LPAR LPAR_DATA_CII() {return(_LPAR_DATA_CII);};
  public CCII_ACCESS_IR BITS_MUX_CLK_INV() {return(_BITS_MUX_CLK_INV);};
  public CCII_ACCESS_IR BITS_MUX_CLK90() {return(_BITS_MUX_CLK90);};
  public CCII_ACCESS_IR BITS_MUX_REG_ADD() {return(_BITS_MUX_REG_ADD);};
  public CCII_ACCESS_IR BITS_DATA_DELAY() {return(_BITS_DATA_DELAY);};
  public CCII_ACCESS_IR BITS_CLK_INV() {return(_BITS_CLK_INV);};
  public CCII_ACCESS_RO WORD_DATA() {return(_WORD_DATA);};
  
  public Vector<CCII_ACCESS_INTERF> getInterfaces() {
		return interfaces;
	}
	public void setInterfaces(Vector<CCII_ACCESS_INTERF> interfaces) {
		this.interfaces = interfaces;
	}
	public Vector<CCII_ACCESS_PARAM> getParams() {
		return params;
	}
	public void setParams(Vector<CCII_ACCESS_PARAM> params) {
		this.params = params;
	};
}
